#include "timer_wheel.h"
#include "any.h"
#include <unistd.h>
#include <string>

class t{
    public:
        t(){
            std::cout<<"t"<<std::endl;
        }
        ~t(){
            std::cout<<"~t"<<std::endl;
        }
};
void task(t* tk){
    std::cout<<"我被调用了"<<std::endl;
    delete tk;
}
int main(){
    // t* tt=new t();
    // TimerWheel tw(10);
    // tw.TimerAdd(1,4,std::bind(task,tt));
    // for(int i=0;i<5;i++){
    //     tw.RunTimerTask();
    //     tw.TimerRefresh(1);
    //     //sleep(1);
    // }
    // //tw.TimerCancel(1);
    // for(int i=0;i<6;i++){
    //     tw.RunTimerTask();
    //     sleep(1);
    // }
    // tw.check();
    // // for(int i=0;i<10;i++){
    // //     std::cout<<i<<std::endl;
    // //     sleep(1);
    // // }
    // //delete tt;
    t tt;
    Any a(tt);
    //Any a{};
    a=10;
    int tmep=0;
    a.GetVal(&tmep);
    std::cout<<tmep<<std::endl;
    //a="ssssss";//由于char *和std::string的类型不同，在使用string去获取char *时会报错，所以这里注释掉
    a=std::string("ssssss");
    std::string s;
    a.GetVal(&s);
    std::cout<<s<<std::endl;
    Any b;
    //b.swap(a);
    b.GetVal(&s);
    std::cout<<s<<std::endl;
    return 0;
}